// #include <stdio.h>
// #include <signal.h>
// #include <stdlib.h>
// #include <sys/types.h>
// #include <unistd.h>

// void sigint_handler(int sig) {
//     printf("接收到%d号信号\n",sig);
//     exit(0);
// }

// int main() {
//     // 注册SIGINT信号处理函数
//     signal(9, sigint_handler);
//     while(1) {
//         // 等待信号
//         printf("Waiting for SIGINT...我是%d进程\n",getpid());
//         sleep(1);
//     }

//     return 0;
// }

// #include <stdio.h>
// #include <signal.h>
// #include <unistd.h>

// void sigint_handler(int sig) {
//     printf("接收到信号 %d\n", sig);
// }

// int main() {
//     // 注册信号处理程序
//     signal(SIGINT, sigint_handler);

//     printf("使用 raise() 函数发送 SIGINT 信号\n");
//     // 发送 SIGINT 信号
//     if (raise(SIGINT) != 0) {
//         perror("raise() 失败");
//     }

//     printf("结束程序\n");

//     return 0;
// }


#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include<stdlib.h>
void sigint_handler(int sig) {
    printf("接收到信号 %d\n", sig);
    sleep(1);
}
void  Exception()
{
    int x=0;
    int a=4/x;
}
int main() {
    // 注册信号处理程序
    signal(SIGFPE, sigint_handler);
    Exception();
    return 0;
}
